diff options
Diffstat (limited to 'npc/001-2-36')
-rw-r--r-- | npc/001-2-36/_import.txt | 5 | ||||
-rw-r--r-- | npc/001-2-36/_warps.txt | 3 | ||||
-rw-r--r-- | npc/001-2-36/mapflags.txt | 1 | ||||
-rw-r--r-- | npc/001-2-36/training_room_npc.txt | 165 |
4 files changed, 174 insertions, 0 deletions
diff --git a/npc/001-2-36/_import.txt b/npc/001-2-36/_import.txt new file mode 100644 index 000000000..222e5a7fc --- /dev/null +++ b/npc/001-2-36/_import.txt @@ -0,0 +1,5 @@ +// Map 001-2-36: unnamed +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/001-2-36/_warps.txt", +"npc/001-2-36/mapflags.txt", +"npc/001-2-36/training_room_npc.txt", diff --git a/npc/001-2-36/_warps.txt b/npc/001-2-36/_warps.txt new file mode 100644 index 000000000..9e9c6c701 --- /dev/null +++ b/npc/001-2-36/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 001-2-36: unnamed warps +001-2-36,37,30,0 warp #001-2-36_37_29 0,0,001-2-34,24,29 diff --git a/npc/001-2-36/mapflags.txt b/npc/001-2-36/mapflags.txt new file mode 100644 index 000000000..457bc70e5 --- /dev/null +++ b/npc/001-2-36/mapflags.txt @@ -0,0 +1 @@ +001-2-36 mapflag town diff --git a/npc/001-2-36/training_room_npc.txt b/npc/001-2-36/training_room_npc.txt new file mode 100644 index 000000000..022b5d2ee --- /dev/null +++ b/npc/001-2-36/training_room_npc.txt @@ -0,0 +1,165 @@ +// TrainingRoom +// +// Author: +// jak1 +// +// Story: +// Akko Teru +// Reid +// +// Spellchecking & Dialogs +// Reid + +// ~~ VARS ~~ +// $@FightingIsActive +// 0 = can Warp in Room (non active fight) +// 1 = can't Warp in Room (active fight) + +//TODO adding rand messages like "try hit it harder..." for wave's + + +001-2-36,32,36,0 script FightNPCName NPC_LUCAS,{ + + set $@NPCNAME$, "FightNPCName"; + set $@NPCNEXTNAME$, "Samantha"; + set $@MOB_ID, 1021; + set $@MOB_NAME$, "Dummy"; + set $@CURRENT_WAVE_LEVEL, 1; + set $@MAX_WAVES, 10; + + //Room and Mobspawn Coordinates + // TL BR + setarray $@MOB_SPAWN_COORDINATES, 24, 34, 31, 41; + setarray $@MAP_NAME$, "001-2-36"; + + set @roomPlayers, getmapusers($@MAP_NAME$); + + if(@roomPlayers > 1) + goto NotAlone; + + if ($@FightingIsActive == 1) + { + npctalk3 "You are not done now!"; + end; + } + + //call in Warp door if (1 = block) + set $@FightingIsActive, 1; + + if (!debug || !is_dev()) + goto start; + + //can be removed later! + menu + "get debug vars", debug_it, + "reset char var", resetVar, + "start training", -; + + +start: + if (FIGHT_TRAINING >= 1) + goto JobIsDone; + + getmapxy(.@map$, .@x, .@y, 0); + if (.@x < 24 || .@x > 32 || .@y < 33 || .@y > 43) + { + speech S_FIRST_BLANK_LINE, l("Please enter the combat zone on the left."); + close; + } + + setcells "001-2-36", 33, 35, 33, 38, 1, "fence"; + initnpctimer; + setnpctimer 0; + startnpctimer; + + npctalk3 l("Let's begin"); + end; + + +//cancel all actions, the Player needs to be alone in this Room +NotAlone: + npctalk3 "You dont feel so great with audience!"; + set $@FightingIsActive, 0; + end; + + +//If a Spawned Mob gets Killed +OnTrainingMobDead: + if ($@CURRENT_WAVE_LEVEL == $@MAX_WAVES ) + goto FinishedTraining; + + set $@CURRENT_WAVE_LEVEL, $@CURRENT_WAVE_LEVEL + 1; + setnpctimer 0; + startnpctimer; + end; + + +SpawnMonster: + if ( $@FightingIsActive == 1 ) + { + if ($@CURRENT_WAVE_LEVEL == $@MAX_WAVES) + { + npctalk "Last Wave!", $@NPCNAME$; + } + else + { + npctalk "Wave " + $@CURRENT_WAVE_LEVEL + "!", $@NPCNAME$; + } + + areamonster "001-2-36", $@MOB_SPAWN_COORDINATES[0], $@MOB_SPAWN_COORDINATES[1], $@MOB_SPAWN_COORDINATES[2], $@MOB_SPAWN_COORDINATES[3], $@MOB_NAME$, $@MOB_ID, 1, $@NPCNAME$ + "::OnTrainingMobDead"; + stopnpctimer; + setnpctimer 0; + } + else + { + set $@CURRENT_WAVE_LEVEL, 0; + } + stopnpctimer; + setnpctimer 0; + end; + + +//15 Secounds Waiting (Regeneration for fightRoom) +OnTimer5000: + goto SpawnMonster; + + +FinishedTraining: + //... TODO + + npctalk "Con. u finished it...", $@NPCNAME$; + stopnpctimer; + setnpctimer 0; + set $@CURRENT_WAVE_LEVEL, 0; + delcells "fence"; + if (FIGHT_TRAINING >= 1) + end; + set FIGHT_TRAINING, 1; + end; + +JobIsDone: + mes "Well done, you should talk to \"" + $@NPCNEXTNAME$ + "\"..."; + close; + + +// ----- DEBUG START ! ----- + +debug_it: + mes "DEBUG INFO"; + mes "- CharVariable:FIGHT_TRAINING "+ FIGHT_TRAINING; + mes "- maxWaves "+ $@MAX_WAVES; + mes "- currentWave "+ $@CURRENT_WAVE_LEVEL; + mes "- npcName "+ $@NPCNAME$; + mes "- mobName "+ $@MOB_NAME$; + mes "- mobID "+ $@MOB_ID; + close; + +resetVar: + set FIGHT_TRAINING , 0; +// ----- DEBUG END ! ----- + + +OnInit: + end; + +} |