summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorSean Hulka <sean.hulka@gmail.com>2021-05-29 16:11:42 +0000
committerJesusaves <cpntb1@ymail.com>2021-05-29 16:11:42 +0000
commit112879ece31a385584499263da67f84f98ed29cc (patch)
tree24b7d6ee847b42054851bb3df2d1893562108471 /npc
parent7aacf4a9d36cf3e07d1b8ecfa3b657c8f31855a0 (diff)
downloadserverdata-112879ece31a385584499263da67f84f98ed29cc.tar.gz
serverdata-112879ece31a385584499263da67f84f98ed29cc.tar.bz2
serverdata-112879ece31a385584499263da67f84f98ed29cc.tar.xz
serverdata-112879ece31a385584499263da67f84f98ed29cc.zip
Implement Brawler Sciences Class and skills
Diffstat (limited to 'npc')
-rw-r--r--npc/027-3/_import.txt1
-rw-r--r--npc/027-3/angel.txt111
-rw-r--r--npc/functions/hub.txt15
3 files changed, 127 insertions, 0 deletions
diff --git a/npc/027-3/_import.txt b/npc/027-3/_import.txt
index 750829745..feb1974d7 100644
--- a/npc/027-3/_import.txt
+++ b/npc/027-3/_import.txt
@@ -1,4 +1,5 @@
// Map 027-3: Physical Sciences Classroom
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/027-3/_warps.txt",
+"npc/027-3/angel.txt",
"npc/027-3/luca.txt",
diff --git a/npc/027-3/angel.txt b/npc/027-3/angel.txt
new file mode 100644
index 000000000..b811e3d37
--- /dev/null
+++ b/npc/027-3/angel.txt
@@ -0,0 +1,111 @@
+// TMW2 script.
+// Author:
+// dangerDuck
+// Description:
+// Angel, of Physical Science Class.
+
+027-3,36,28,0 script Angel NPC_PLAYER,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Physical Sciences Class ::.");
+ mesc l("Specialized in skills with fist-based damage and unarmed mastery.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ select
+ l("Basic Magic"),
+ l("Standard Magic"),
+ l("Advanced Magic");
+ //l("Mastery Magic");
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ // Display appropriate menu
+ if (.@lv == 1)
+ basicMagic();
+ else if (.@lv == 2)
+ standardMagic();
+ else if (.@lv == 3)
+ advancedMagic();
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: Brawling ::.");
+ mesc l("Three powerful consecutive brawn attacks.");
+ mes "";
+ menuint
+ l("Brawling"), TMW2_BRAWLING,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ mes l(".:: Bear Strike ::.");
+ mesc l("Five powerful consecutive brawn attacks.");
+ mes "";
+ mes l(".:: Stunning Strike ::.");
+ mesc l("Three powerful consecutive brawn attacks with a chance to stun target.");
+ mes "";
+ menuint
+ l("Bear Strike"), TMW2_BEARSTRIKE,
+ l("Stunning Strike"), TMW2_STUNNINGSTRIKE,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 3) goto L_NoMagic;
+ mes l(".:: All In One ::.");
+ mesc l("Seven consecutive brawn attacks of diff. elements.");
+ mes "";
+ menuint
+ l("All In One"), TMW2_ALLINONE,
+ l("Cancel"), 0;
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, AssassinChest);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinPants);
+ setunitdata(.@npcId, UDT_WEAPON, AssassinBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index f3ff72983..a2a981da9 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -1,6 +1,7 @@
// TMW2 scripts.
// Authors:
// Jesusalva
+// dangerDuck
// TMW Org.
// Description:
// HUB functions (Login, Logout, Death)
@@ -847,6 +848,20 @@ function script HUB_SkillInvoke {
// and also hits behind (and on your square)
rectharm(@skillTarget, 0, 1, AdjustAttackpower(.@PW/2), HARM_PHYS, Ele_Neutral);
break;
+ case TMW2_STUNNINGSTRIKE:
+ // 70x3 = 210
+ .@PW=65+(5*@skillLv);
+ .@TM=1600+(@skillLv*200);
+ // Using a shield, so power is halved
+ if (getequipid(EQI_HAND_L) > 0)
+ .@PW=.@PW/2;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sc_start SC_STUN, .@TM, 1, 3333, SCFLAG_NONE, @skillTarget;
+ break;
////////////////////////////////
// CLASS_OTHER