X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fg_monsters.pas;h=fb8ee7cf6205107d6d17a161030b83645f62f145;hb=b128e0179e7e6ebaf38e02d80015e50fb4e34933;hp=507a56024cf75640394dbe91dd3bd4ccaa45b45a;hpb=88ce644db1b40111bdb380f4357fa59bdb5173be;p=d2df-sdl.git diff --git a/src/game/g_monsters.pas b/src/game/g_monsters.pas index 507a560..fb8ee7c 100644 --- a/src/game/g_monsters.pas +++ b/src/game/g_monsters.pas @@ -1,3 +1,4 @@ +{$MODE DELPHI} unit g_monsters; interface @@ -158,7 +159,7 @@ implementation uses e_log, g_main, g_sound, g_gfx, g_player, g_game, g_weapons, g_triggers, MAPDEF, g_items, g_options, - g_console, g_map, Math, SysUtils, g_menu, WADEDITOR, + g_console, g_map, Math, SysUtils, g_menu, wadreader, g_language, g_netmsg; const @@ -220,7 +221,7 @@ const (Name:'SERG'; Rect:(X:15; Y:8; Width:34; Height:52); Health:20; RunVel: 3; MinPain: 0; Pain: 10; Jump: 10), - + (Name:'CYBER'; Rect:(X:24; Y:9; Width:80; Height:110); Health:500; RunVel: 5; MinPain: 50; Pain: 70; Jump: 10), @@ -1051,7 +1052,7 @@ begin gMonsters[a].Update(); end else - begin + begin gMonsters[a].Free(); gMonsters[a] := nil; end; @@ -1202,7 +1203,9 @@ end; function g_Monsters_GetNameByID(MonsterType: Byte): String; begin if MonsterType in [MONSTER_DEMON..MONSTER_MAN] then - Result := MONSTERTABLE[MonsterType].Name; + Result := MONSTERTABLE[MonsterType].Name + else + Result := '?'; end; function g_Monsters_GetKilledBy(MonsterType: Byte): String; @@ -1414,7 +1417,7 @@ begin FWaitAttackAnim := False; FChainFire := False; FShellTimer := -1; - + FState := STATE_SLEEP; FCurAnim := ANIM_SLEEP; @@ -1788,7 +1791,7 @@ begin // Ýòî çíà÷èò: dX := -frameWidth - animDeltaX + hitX + hitWidth + hitX end; end - else // Ïðàâàÿ àíèìàöèÿ + else // Ïðàâàÿ àíèìàöèÿ begin dx := MONSTER_ANIMTABLE[FMonsterType].AnimDeltaRight[FCurAnim].X; dy := MONSTER_ANIMTABLE[FMonsterType].AnimDeltaRight[FCurAnim].Y; @@ -1874,7 +1877,7 @@ begin FObj.Rect := MONSTERTABLE[FMonsterType].Rect; FHealth := MONSTERTABLE[FMonsterType].Health; - FAmmo := 0; + FAmmo := 0; FPain := 0; end; else Exit; @@ -1884,7 +1887,7 @@ begin if ForceAnim <> 255 then Anim := ForceAnim; -// Åñëè àíèìàöèÿ íîâàÿ - ïåðåçàïóñêàåì å¸: +// Åñëè àíèìàöèÿ íîâàÿ - ïåðåçàïóñêàåì å¸: if FCurAnim <> Anim then if FAnim[Anim, FDirection] <> nil then begin @@ -2270,7 +2273,7 @@ begin FDirection := D_LEFT else FDirection := D_RIGHT; - + goto _end; end; @@ -2673,7 +2676,7 @@ _end: FWaitAttackAnim := False; end - + else // Àíèìàöèÿ àòàêè åùå èäåò (èñêëþ÷åíèå - Lost_Soul): if (FMonsterType = MONSTER_SOUL) or ( (not FWaitAttackAnim) and @@ -3428,7 +3431,7 @@ _end: FWaitAttackAnim := False; end - + else // Àíèìàöèÿ àòàêè åùå èäåò (èñêëþ÷åíèå - Lost_Soul): if (FMonsterType = MONSTER_SOUL) or ( (not FWaitAttackAnim) and @@ -3449,7 +3452,7 @@ _end: // Lost_Soul óêóñèë êîãî-òî => ïåðåõîäèò íà øàã: if FMonsterType = MONSTER_SOUL then SetState(STATE_GO); - + MONSTER_FISH: g_Weapon_Hit(@FObj, 10, FUID, HIT_SOME); @@ -3526,7 +3529,7 @@ _end: if g_Obj_CollidePanel(@FObj, 0, 0, PANEL_LIFTLEFT or PANEL_LIFTRIGHT) and not ((FState = STATE_DEAD) or (FState = STATE_DIE)) then FObj.Vel.X := oldvelx; - + // Åñëè åñòü àíèìàöèÿ, òî ïóñòü îíà èäåò: if FAnim[FCurAnim, FDirection] <> nil then FAnim[FCurAnim, FDirection].Update();