uploading base project structure (& ariel skin and some nerielle item icons! also 20% nerielle skin)

This commit is contained in:
UndeadMaelys 2021-01-03 15:29:53 +01:00
commit 266e0ad8ca
14 changed files with 231 additions and 0 deletions

16
content/costumes2.xml Normal file
View File

@ -0,0 +1,16 @@
<!--
- Put a `name` field so the game recognizes for which item it should give
the player a costum. If you leave it empty, several items might give you
the same costume.
- the `priority` field controls on which costum layer the costum is applied
for exemple, priority="1" would put the costum behind isaac's head, and
priority="99" would put the costum in front of all other costums
-->
<costumes anm2root="gfx/">
<costume
name="Your item's name"
anm2path="path to your custom animation in gfx.anm2"
priority="99"
type="passive"
/>
</costumes>

32
content/entities2.xml Normal file
View File

@ -0,0 +1,32 @@
<!--
- Add an id field in order to make an entity of the type you want.
For exemple, if you wanted to make a new type of bomb, put `id="4"`.
- Add a `variant="n"` if you are having issues getting your entity
to appear in the game.
- Control the speed of your enemy with `friction`.
That value is between 0 and 1, values greater than 1 might make
your entity accelerate to uncontrolable speeds.
- The `portrait` fields control what pictures show when the entity kills the
player.
- Put the `collisionDamage` value to "0" if you want the entity to be
harmless when directly hitting the player.
-->
<entities anm2root="gfx/" version="5">
<entity name="the entity's name"
anm2path="animation file name in your gfx in resources folder.anm2"
reroll="true"
baseHP="10"
boss="0"
champion="1"
collisionDamage="1"
collisionMass="30"
collisionRadius="13"
friction="1"
numGridCollisionPoints="7"
shadowSize="0"
stageHP="0"
portrait="30"
bestiary="false"
><gibs amount="6" blood="1" bone="0" eye="0" gut="1" large="0" />
</entity>
</entities>

38
content/itempools.xml Normal file
View File

@ -0,0 +1,38 @@
<!--
Note: imagine that each item adds a number of tokens to the item pool.
Each time the game must generate an item pedestal, it takes out a random
token from the item pool and puts the item on the pedestal.
- `weight` the number of tokens to put in the pool for your item. Greater
values makes your item more likely to show up.
- `decreaseby` Number of tokens to remove from the pool when
the player **sees** the item. Greater numbers means you are
less likely to see the item after having seen it once.
- `removeon` Minimum number of tokens to accept the item in the pool.
If your item has less token remaining than the `removeon` value,
the player won't see it anymore, even if there is remaining tokens.
- Note that item weights might be pool dependent.
- Note that picking up the item will remove it from all the pools it is in.
- All values can be natural or rational numbers.
-->
<ItemPools>
<Pool name="treasure">
<Item name="Your item name"
weight="2"
removeon="0.1"
decreaseby="1"
/>
</Pool>
<Pool name="angel">
<Item name="Your item name"
weight="2"
removeon="0.1"
decreaseby="1"
/>
</Pool>
</ItemPools>

79
content/items.xml Normal file
View File

@ -0,0 +1,79 @@
<!--
Note: there is several type of items, the type is the name of the
entry (<passive.../> defines a passive type item).
- Those are: passive, active, familiar and trinket
- use the fields `bombs`, `coins` and `keys` to control how many
consumables your item gives when you pick it up. For exemple
`bombs="10" keys="10"` gives the player 10 keys and 10 bombs when
the item is picked up.
Note: all heart counts are calculated in half hearts.
- `maxhearts` is the number of heart containers to add.
- `hearts` is count of red hearts to add, it won't exceed the amount of
heart containers the player have.
- `soulhearts` is the number of spirit hearts to add.
- `blackhearts` the number of black hearts to add.
Note: Red Candle has a `maxcharges` value of 110
- For active items `maxcharges` control the number of charges the item have
A value of `maxcharge="0"` means infinite charges.
- `cooldown` is the number of frames you want the player to freez after
using the item
Note on making stat modifying items: the mod needs to have a
MC_EVALUATE_CACHE callback in main.lua in order to catch the
modification and apply the actual stat changes.
- `cache` are the flags to set when calling functions callbacks to
MC_EVALUATE_CACHE. They are a space separated list of stat names,
the possible values are as following:
`speed`, `range`, `shotspeed`, `damage`, `tearcolor`, `tearflag`,
`firedelay`, `luck`, `flying` and `all`
All the flags might not work, but some work. If you want to call
MC_EVALUATE_CACHE with the damage, luck and speed flags, put
`cache="damage luck speed"` in your item xml definiton.
- `special` if you want your item to be special, because it's special
a special item has special set to `special="true"`
- `devilprice` the number of red heart containers your item should cost in
a devil room (`devilprice="1"` or `devilprice="2"`)
<passive name="passive_name.name"
description="flavor text shows when you pick up the item"
gfx="itemsprite.png"
/>
<active name="an active item name"
description="flavor text shows when you pick up the item"
gfx="itemsprite.png"
maxcharges="0"
/>
-->
<items gfxroot="gfx/collectibles/items/" version="1">
<passive name="Bronze Scale Collar"
description="Shiny!"
gfx="bronze_scale.png"
/>
<passive name="Scaly Egg"
description="A warming companion."
gfx="scaly_egg.png"
/>
<active name="Zappy Breath!"
description="Zappy-zapps in a bottle!"
gfx="zappy.png"
maxcharges="4"
/>
<passive name="Dragon Mark"
description="Fiery"
gfx="drake_mark.png"
soulhearts="2"
maxcharges="4"
/>
</items>

20
content/players.xml Normal file
View File

@ -0,0 +1,20 @@
<!--
** Taken from the nicalis sample mod:
** http://steamcommunity.com/sharedfiles/filedetails/?id=838994644
-->
<players root="gfx/characters/costumes/"
portraitroot="gfx/ui/boss/"
nameimageroot="gfx/ui/boss/"
bigportraitroot="gfx/ui/stage/">
<player name="Ariel"
id="1"
skin="ariel/base.png"
hp="1" black="3"
items="23"
key = "1"
nameimage="PlayerName_01_Ariel.png"
portrait="PlayerPortrait_01_Ariel.png"
bigportrait="PlayerPortraitBig_01_Ariel.png"
skinColor="-1"
/>
</players>

38
main.lua Normal file
View File

@ -0,0 +1,38 @@
local Lore = RegisterMod( "thecreativelore", 1 );
--[[ CHARACTERS ]]
-- Ariel
local ARIEL_NAME = "Ariel";
local ARIEL_TYPE = Isaac.GetPlayerTypeByName(ARIEL_NAME);
local ARIEL_STATS = {
MoveSpeedNaturalBonus = 0.10,
MoveSpeedNaturalMultiplier = 0.9,
DamageNaturalMultiplier = 0.70,
ShotSpeedNaturalMultiplier = 0.8,
MaxFireDelayNaturalMultiplier = 1.0,
MaxFireDelayNaturalExponent = 0.9,
TearHeightBonus = 12,
};
--[[ Stats ]]
function Lore:EvaluateCache( player, cacheFlag )
if player:GetPlayerType() = ARIEL_TYPE then
--[[ if cacheFlag == CacheFlag.CACHE_SPEED then
player.MoveSpeed = player.MoveSpeed * ARIEL_STATS.MoveSpeedNaturalMultiplier + ARIEL_STATS.MoveSpeedNaturalBonus;
elseif cacheFlag == CacheFlag.CACHE_SHOTSPEED then
player.ShotSpeed = player.ShotSpeed * ARIEL_STATS.ShotSpeedNaturalMultiplier;
elseif cacheFlag == CacheFlag.CACHE_DAMAGE then
player.Damage = player.Damage * ARIEL_STATS.DamageNaturalMultiplier;
elseif cacheFlag == CacheFlag.CACHE_FIREDELAY then
player.MaxFireDelay = math.floor( math.max( 1, player.MaxFireDelay * ARIEL_STATS.MaxFireDelayNaturalMultiplier ) ^ ARIEL_STATS.MaxFireDelayNaturalExponent );
elseif cacheFlag == CacheFlag.CACHE_RANGE then
player.TearHeight = player.TearHeight + ARIEL_STATS.TearHeightBonus;
elseif cacheFlag == CacheFlag.CACHE_TEARCOLOR then
--player.TearColor = GAPPI_COLOR;
--Player.LaserColor = GAPPI_COLOR;
end]]
player.CanFly = true
end
end
Lore:AddCallback( ModCallbacks.MC_EVALUATE_CACHE, Lore.EvaluateCache );

8
metadata.xml Normal file
View File

@ -0,0 +1,8 @@
<metadata>
<name>thecreativelore</name>
<directory>thecreativelore</directory>
<description/>
<version>1.0</version>
<visibility/>
</metadata>

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB