Mirage Engine
Heal and Kill Attributes - Printable Version

+- Mirage Engine (https://mirage-engine.uk/forums)
+-- Forum: Mirage Source (Nostalgia) (https://mirage-engine.uk/forums/forumdisplay.php?fid=61)
+--- Forum: Archive (2006-2011) (https://mirage-engine.uk/forums/forumdisplay.php?fid=18)
+---- Forum: Resources (https://mirage-engine.uk/forums/forumdisplay.php?fid=49)
+---- Thread: Heal and Kill Attributes (/showthread.php?tid=74)



Heal and Kill Attributes - Tutorial Bot - 02-06-2006

Author: Mr.Saturn
Difficulty: 2/5

Healing Attribute Tile
:: SERVER SIDE ::
In modTypes, add:
Code:
Public Const TILE_TYPE_HEAL = 7
In modGamelogic, go to Sub PlayerMove, and add:
Code:
If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_HEAL Then

Call SetPlayerHP(Index, GetPlayerMaxHP(Index))
Call SendHP(Index)
Call PlayerMsg(Index, "You feel a sudden rush through your body as you regain strength!", BrightGreen)
End If

:: CLIENT SIDE ::
In modTypes, add:
Code:
Public const TILE_TYPE_HEAL = 7
In modGamelogic, find:
Code:
If .Type = TILE_TYPE_BLOCKED Then Call DrawText(TexthDC, x * PIC_X + 8, y * PIC_Y + 8, "B", QBColor(BrightRed))
Beneath that, add:
Code:
If .Type = TILE_TYPE_HEAL Then Call DrawText(TexthDC, x * PIC_X + 8, y * PIC_Y + 8, "H", QBColor(BrightGreen))
Find:
Code:
If frmMirage.optWarp.Value = True Then
.Type = TILE_TYPE_WARP
.Data1 = EditorWarpMap
.Data2 = EditorWarpX
.Data3 = EditorWarpY
End If
Beneath that, add:
Code:
If frmMirage.optHeal.Value = True Then
.Type = TILE_TYPE_HEAL
.Data1 = 0
.Data2 = 0
.Data3 = 0
End If
Now, in frmMirage make an option box under Attributes and title it optHeal.

Killing Attribute Tile
:: SERVER SIDE ::
In modTypes, add:
Code:
Public Const TILE_TYPE_KILL = 8
In modGamelogic, go to Sub PlayerMove, and add:
Code:
'Check for kill tile, and if so kill them
If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_KILL Then
Call SetPlayerHP(Index, 0)

Call PlayerWarp(Index, START_MAP, START_X, START_Y)
Call SetPlayerHP(Index, GetPlayerMaxHP(Index))
Call SetPlayerMP(Index, GetPlayerMaxMP(Index))
Call SetPlayerSP(Index, GetPlayerMaxSP(Index))
Call SendHP(Index)
Call SendMP(Index)
Call SendSP(Index)
Moved = YES
End If

:: CLIENT SIDE ::
In modTypes, add:
Code:
Public const TILE_TYPE_KILL = 8
In modGamelogic, find:
Code:
If .Type = TILE_TYPE_BLOCKED Then Call DrawText(TexthDC, x * PIC_X + 8, y * PIC_Y + 8, "B", QBColor(BrightRed))
Beneath that, add:
Code:
If .Type = TILE_TYPE_KILL Then Call DrawText(TexthDC, x * PIC_X + 8, y * PIC_Y + 8, "K", QBColor(BrightRed))
Find:
Code:
If frmMirage.optWarp.Value = True Then
.Type = TILE_TYPE_WARP
.Data1 = EditorWarpMap
.Data2 = EditorWarpX
.Data3 = EditorWarpY
End If
Beneath that, add:
Code:
If frmMirage.optKill.Value = True Then
.Type = TILE_TYPE_KILL
.Data1 = 0
.Data2 = 0
.Data3 = 0
End If
Now in frmMirage make an option box under Attributes and title it optKill.