diff options
author | Jessica Tölke <jtoelke@mail.upb.de> | 2011-12-22 12:49:20 +0100 |
---|---|---|
committer | Jessica Tölke <jtoelke@mail.upb.de> | 2011-12-22 12:58:03 +0100 |
commit | d055f5ee2e8aba6023fad078340770ef051a8d2e (patch) | |
tree | 5ebcf129f9c86799598ab321206c36476fcd6c22 | |
parent | 495f56308f9eef6918f337b81c4055e318277627 (diff) | |
download | serverdata-d055f5ee2e8aba6023fad078340770ef051a8d2e.tar.gz serverdata-d055f5ee2e8aba6023fad078340770ef051a8d2e.tar.bz2 serverdata-d055f5ee2e8aba6023fad078340770ef051a8d2e.tar.xz serverdata-d055f5ee2e8aba6023fad078340770ef051a8d2e.zip |
some cleanup on barbarian NPCs
-rw-r--r-- | world/map/npc/033-1/birrod.txt | 40 | ||||
-rw-r--r-- | world/map/npc/033-1/kimarr.txt | 17 | ||||
-rw-r--r-- | world/map/npc/033-1/yerrnk.txt | 10 |
3 files changed, 33 insertions, 34 deletions
diff --git a/world/map/npc/033-1/birrod.txt b/world/map/npc/033-1/birrod.txt index 097cf26f..df541727 100644 --- a/world/map/npc/033-1/birrod.txt +++ b/world/map/npc/033-1/birrod.txt @@ -1,11 +1,10 @@ 033-1.gat,72,27,0|script|Birrod|217,{ -// TODO: check name of wolf monster after it has been added to the mob_db + set @Q_Barbarians_MASK, NIBBLE_0_MASK; set @Q_Barbarians_SHIFT, NIBBLE_0_SHIFT; set @state, ((QUEST_Barbarians & @Q_Barbarians_MASK) >> @Q_Barbarians_SHIFT); -// TODO: determine values: set @wolvern_level, 40; // minimum level to do the wolvern hunting set @wolvern_amount, 10; // number of script spawned wolverns to kill set @wolvern_exp, 5000; @@ -25,20 +24,20 @@ mes "\"We usually live high up in the snowy mountains, but we need to solve a problem, so we came down here.\""; next; mes "\"But this shouldn't concern you.\""; - close; + goto L_Close; L_Fluffy: mes "[Birrod]"; mes "\"Kimarr asked you to perform the fluffy hunting? I'm curious how you're going to do it.\""; mes "He grins."; - close; + goto L_Close; L_Kimarr: mes "[Birrod]"; mes "\"Great! Very well done! Welcome to our tribe.\""; next; mes "\"But I think, Kimarr has something for you.\""; - close; + goto L_Close; L_Hunting: if (BaseLevel < @wolvern_level) @@ -55,7 +54,7 @@ L_Hunting: mes "Those are not the ones I mean, but those that seek the battle themselves.\""; set @state, 4; callsub S_Update_Mask; - close; + goto L_Close; L_Wolverns: if (wolvern_count >= @wolvern_amount) @@ -65,7 +64,7 @@ L_Wolverns: mes "The aggressive wolverns are still roaming the forest west of here.\""; next; mes "\"This is your chance to prove your worth.\""; - close; + goto L_Close; L_Wolverns_Done: set @state, 5; @@ -204,15 +203,15 @@ L_Success5: next; mes "\"Therefore you gain the ability to put back your own safety for Raging in battle with a tremendous power."; mes "This power now lies within you, waiting for someone to help you focusing on it.\""; - close; + goto L_Close; L_Impressed: mes "\"I'm very proud of you being a member of the tribe.\""; - close; + goto L_Close; L_No_Items: mes "\"" + strcharinfo(0) + ", remember that a member of our tribe is candid and honest.\""; - close; + goto L_Close; L_Not_Ready: mes "[Birrod]"; @@ -221,27 +220,32 @@ L_Not_Ready: next; mes "\"Roam this world to find more experienced persons than yourself to learn new things."; mes "Then come back when you've gained the ability to focus your mind.\""; - close; + goto L_Close; L_No_Member: mes "Birrod shakes his head."; mes "[Birrod]"; mes "\"Think again about your position in our tribe and what you want to achieve."; mes "Come back when you feel better prepared.\""; - close; + goto L_Close; L_Weak: mes "[Birrod]"; mes "\"Hello, " + strcharinfo(0) + "! I might have a task for you when you've grown up a bit.\""; - close; + goto L_Close; L_Close: - // TODO: set all variables to 0 + set @Q_Barbarians_MASK, 0; + set @Q_Barbarians_SHIFT, 0; + set @state, 0; + set @wolvern_level, 0; + set @wolvern_amount, 0; + set @wolvern_exp, 0; + set @minigame_exp, 0; close; S_Update_Mask: - set QUEST_Barbarians, - (QUEST_Barbarians & ~(@Q_Barbarians_MASK)) - | (@state << @Q_Barbarians_SHIFT); - return; + set QUEST_Barbarians, + (QUEST_Barbarians & ~(@Q_Barbarians_MASK)) | (@state << @Q_Barbarians_SHIFT); + return; } diff --git a/world/map/npc/033-1/kimarr.txt b/world/map/npc/033-1/kimarr.txt index f6a22423..e1137100 100644 --- a/world/map/npc/033-1/kimarr.txt +++ b/world/map/npc/033-1/kimarr.txt @@ -157,11 +157,8 @@ L_Game: set $@Fluffy_FighterID, getcharid(3); set $@Fluffy_Time, 180; -//TODO: set minimum number of killed fluffies, here are some ideas -// set $@Fluffy_Min, (BaseLevel*7)/10; -// set $@Fluffy_Min, (BaseLevel*2)/3; -// set $@Fluffy_Min, (BaseLevel*3)/4; - set $@Fluffy_Min, 2; + set $@Fluffy_Min, (BaseLevel*7)/10; + warp "033-1.gat", 79, 34; initnpctimer; goto L_Close; @@ -306,9 +303,6 @@ OnFluffyDeath: set @MobID, 0; set $@Fluffy_Kills, $@Fluffy_Kills + 1; set $@Fluffy_Alive, $@Fluffy_Alive - 1; - //TODO: remove announce after debugging - // message strcharinfo(0), "Fluffies alive: " + $@Fluffy_Alive; - // message strcharinfo(0), "Fluffies killed: " + $@Fluffy_Kills; if ($@Fluffy_Alive != 0) end; if (attachrid($@Fluffy_FighterID) == 1) @@ -349,6 +343,9 @@ S_Clean: killmonster "033-1.gat", "Kimarr::OnWolvernDeath"; killmonster "033-1.gat", "Kimarr::OnYetiDeath"; killmonster "033-1.gat", "Kimarr::OnFluffyDeath"; + set @Q_Barbarians_MASK, 0; + set @Q_Barbarians_SHIFT, 0; + set @state, 0; return; L_MaybeRecordScore: @@ -421,12 +418,10 @@ L_Close: // if you unset @state, @Q_Barbarians_MASK or @Q_Barbarians_SHIFT, it might break the script // If only we had the concept of "local constants" ... - close; S_Update_Mask: set QUEST_Barbarians, - (QUEST_Barbarians & ~(@Q_Barbarians_MASK)) - | (@state << @Q_Barbarians_SHIFT); + (QUEST_Barbarians & ~(@Q_Barbarians_MASK)) | (@state << @Q_Barbarians_SHIFT); return; } diff --git a/world/map/npc/033-1/yerrnk.txt b/world/map/npc/033-1/yerrnk.txt index f166d1f5..e9c79593 100644 --- a/world/map/npc/033-1/yerrnk.txt +++ b/world/map/npc/033-1/yerrnk.txt @@ -152,15 +152,13 @@ L_Hunt_Yeti: L_Yeti_Success: mes "[Yerrnk]"; mes "\"" + strcharinfo(0) + "! You made it!"; - mes "You proved that you're one of the most skilled warriors of our tribe.\""; - next; - mes "TODO: add reward here, maybe leather pants?"; + mes "You proved that you're one of the most skilled warriors of our tribe. Please have this.\""; + getitem "LeatherTrousers", 1; set @state, 9; callsub S_Update_Mask; goto L_Close; L_Done: -// TODO: maybe add background informations about barbarian village here mes "Yerrnk smiles at you."; mes "[Yerrnk]"; mes "\"Welcome back, great warrior.\""; @@ -170,7 +168,9 @@ L_Done: goto L_Close; L_Close: - // TODO: set all temporary variables to zero + set @Q_Barbarians_MASK, 0; + set @Q_Barbarians_SHIFT, 0; + set @state, 0; set @yeti_level, 0; close; |