Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Artefakty 4lv hb #129

Closed
wants to merge 48 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
f71605e
Tunika ma 10 DCI po 2xkliku
Maupishon Sep 20, 2023
6f3e93b
Ostrze karmione zlotem
Maupishon Sep 20, 2023
3cefe08
Bracka co sie w nia klika i ma inne propsy po pierwszym dwukliku i in…
Maupishon Sep 20, 2023
b647dd6
Nie-Morderca bedzie otrzymywal dmg od hita
Maupishon Sep 20, 2023
e1c9fc8
Rewrok soul rippera wg sugestii anika
Maupishon Sep 22, 2023
0c43f2a
Nowy arcik, ksiazka z randomowym super slayerem, ale wysysa 1 many
Maupishon Sep 23, 2023
49169ab
Redesign bracki na naszyjnik. Zmianaa nazwy klasy. Usuniecie taktyi
Maupishon Sep 23, 2023
34cf462
Dodatki do bracki
Maupishon Sep 24, 2023
540bedf
Fix w butli na item id
Maupishon Sep 24, 2023
a28248b
Mały dodatek do kolczykow - minusowy stamina reg oraz zmiana nazwy i …
Maupishon Sep 24, 2023
8af634f
Tarcza odbijajaca 10 dmg, jesli postac otrzyma 20 dmg
Maupishon Sep 24, 2023
cd481a4
Fix na tarcze
Maupishon Sep 24, 2023
cfef945
Usuwanie efektu tarczy przy zdjeciu jej
Maupishon Sep 25, 2023
8884f3a
Set zbrojki wdowy
Maupishon Sep 25, 2023
8ab218c
fix na chest wdowy
Maupishon Sep 27, 2023
db4f63d
Rework księgi
Maupishon Sep 27, 2023
940da24
Labelek dla ksiegi
Maupishon Sep 27, 2023
ec5c226
Zbicie resów w secie
Maupishon Sep 27, 2023
2991813
Fix
Maupishon Sep 27, 2023
17e2869
Tunika co sie odtruwasz
Maupishon Sep 29, 2023
1c3afb6
Dopracowanie pancerza ktory odtruwa.
Sep 29, 2023
7331cff
Berlo, ktore wskrzesza
Maupishon Sep 29, 2023
8e1afa1
Zwiekszenie ilosci ladunkow
Maupishon Nov 24, 2023
03a6b4c
DI increase
Maupishon Nov 24, 2023
d749773
Zdjęcie tuniki spowoduje zdjęcie efektu DCI
Maupishon Dec 28, 2023
2b94ef8
Dopakowanie kijka, by byl usable
Maupishon Dec 28, 2023
03195bc
Clasp Rename
Maupishon Dec 28, 2023
99b3edc
Rework BeastmasterRing.cs
Maupishon Dec 28, 2023
3c14ced
Rework AzysBracelet.cs
Maupishon Dec 28, 2023
7683741
Zmniejszenie wytrzymalosci poczatkowej
Maupishon Dec 28, 2023
c2f962d
Poprawki formatowania
Maupishon Dec 28, 2023
e87202d
Dodanie HitHarm
Maupishon Dec 28, 2023
a60b8f5
Nowy arcik
Maupishon Dec 28, 2023
86cc924
DCI nie spadnie ponizej 0. Serializacja DCI
Maupishon Dec 29, 2023
e45cf05
Nowy arcik
Maupishon Dec 29, 2023
942e953
Fix literówek
Maupishon Dec 29, 2023
a6fae19
Rename of some artifacts
Maupishon Jan 15, 2024
e4c96fa
Fixy na gluttonousblade.cs
Maupishon Jan 16, 2024
0007df4
Fix WidowSpawn.cs
Maupishon Jan 17, 2024
444f1e9
WidowArmour changes
Maupishon Jan 17, 2024
f8b81ee
TODO comment added
Maupishon Jan 17, 2024
8822f41
Timer Fixes In ArcaneTunic.cs
Maupishon Sep 11, 2024
4521bec
Beastmaster.cs fixes regarding tiemer. Deleted the illadvised Threading
Maupishon Sep 11, 2024
7d148ca
Fixed timer in EarringsOfTheMagician.cs
Maupishon Sep 11, 2024
4edb2c7
Fixed timers in gluttonousblade.cs
Maupishon Sep 11, 2024
1caef46
Uneeded using deleted
Maupishon Sep 11, 2024
f67ac11
Fix of the timers of KompendiumWiedzyDrowow
Maupishon Sep 11, 2024
5e7231f
Effect fix
Maupishon Sep 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions Scripts/Nelderim/Items/Artifacts/ZleceniaBossy/ArcaneTunic.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
using System;

namespace Server.Items
{
public class ArcaneTunic : LeatherChest
{
public override int InitMinHits { get { return 60; } }
public override int InitMaxHits { get { return 60; } }

private int originalDefenseChance;
private DateTime nextUseTime; // Stores the next allowed use time
private Timer resetTimer;

[Constructable]
public ArcaneTunic()
{
Name = "Tunika Arkanisty z Thila";
Hue = 0x556;
Attributes.DefendChance = 0;
Attributes.CastSpeed = 1;
Attributes.LowerManaCost = 10;
Attributes.LowerRegCost = 5;
Attributes.SpellDamage = 4;

originalDefenseChance = Attributes.DefendChance;
}

public override void AddNameProperties(ObjectPropertyList list)
{
base.AddNameProperties(list);
list.Add(1049644, "Dotkniecie symbolu wyrytego na piersi tuniki powoduje zwiekszenie umiejetnosci unikania ciosow");
}

public override void OnRemoved(object parent)
{
base.OnRemoved(parent);

Mobile character = parent as Mobile;

if (character != null && character.Backpack != null && this.Layer == Layer.InnerTorso)
{
// Decrease Attributes.DefendChance by 10 when the item is removed from the chest to the backpack
Attributes.DefendChance = Math.Max(0, Attributes.DefendChance - 10);
}

ResetTimer(); // Reset the timer when the item is removed
}

public override void OnDoubleClick(Mobile from)
{
if (!IsChildOf(from.FindItemOnLayer(Layer.InnerTorso)))
{
if (DateTime.UtcNow < nextUseTime)
{
from.SendMessage("Musisz odczekac jeszcze troche czasu przed uzyciem tego ponownie.");
return;
}

if (Attributes.DefendChance < 10) // Nie wyjdzie poza 10 DCI
{
Attributes.DefendChance = Math.Min(10, Attributes.DefendChance + 10);
from.SendMessage("Twoja umiejetnosc unikania ciosow wzrasta.");

// Start or restart the timer
ResetTimer();
}
else if (Attributes.DefendChance >= 10)
{
from.SendMessage("Twoja umiejetnosc unikania ciosow jest juz na maksymalnym poziomie.");
}

nextUseTime = DateTime.UtcNow + TimeSpan.FromMinutes(5); // Cooldown 5 min
}
}

private void ResetTimer()
{
if (resetTimer != null)
{
resetTimer.Stop();
}

resetTimer = Timer.DelayCall(TimeSpan.FromMinutes(5), () =>
{
ResetDefenseChance();
resetTimer = null;
});
}

private void ResetDefenseChance()
{
Attributes.DefendChance = originalDefenseChance;
}

public ArcaneTunic(Serial serial) : base(serial)
{
}

public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)1); // Version
writer.Write(originalDefenseChance);
writer.Write(nextUseTime);
writer.Write(Attributes.DefendChance);
}

public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
originalDefenseChance = reader.ReadInt();
nextUseTime = reader.ReadDateTime();

if (version >= 1)
{
Attributes.DefendChance = Math.Max(0, reader.ReadInt());
}
else
{
Attributes.DefendChance = 0;
}
}
}
}

This file was deleted.

This file was deleted.

51 changes: 40 additions & 11 deletions Scripts/Nelderim/Items/Artifacts/ZleceniaBossy/AzysBracelet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,27 @@

namespace Server.Items
{

public class AzysBracelet : BaseBracelet
{

public override int InitMinHits{ get{ return 50; } }
public override int InitMaxHits{ get{ return 50; } }

private bool isSecondClick = false;

public override int InitMinHits { get { return 50; } }
public override int InitMaxHits { get { return 50; } }

[Constructable]
public AzysBracelet()
: base(0x1F06)
{
this.Weight = 0.1;
this.Name = "Branzoleta Zaklinania Maga Azy";
this.Name = "Branzoleta Rzemieslnika z Ferion";
this.Hue = 0x78A;
this.Attributes.Luck = -100;
this.Attributes.BonusInt = 15;
this.SkillBonuses.Skill_2_Name = SkillName.Alchemy;
this.SkillBonuses.Skill_2_Value = 20;

this.Attributes.BonusStr = 15;
this.SkillBonuses.Skill_2_Name = SkillName.Mining;
this.SkillBonuses.Skill_2_Value = 5;
this.SkillBonuses.Skill_1_Name = SkillName.Inscribe;
this.SkillBonuses.Skill_1_Value = 0;
Label1 = "*branzoleta ma miejsce na 3 palce - czy odwazysz sie jej dotknac?*";
}

public AzysBracelet(Serial serial)
Expand All @@ -42,5 +44,32 @@ public override void Deserialize(GenericReader reader)

int version = reader.ReadInt();
}

public override void OnDoubleClick(Mobile from)
{
if (!isSecondClick)
{
this.Attributes.BonusInt = 10;
this.Attributes.BonusStr = -30;
this.Weight = 5.0;
this.SkillBonuses.Skill_1_Name = SkillName.Inscribe;
this.SkillBonuses.Skill_1_Value = 5;

isSecondClick = true;
}
else
{
// On the second double-click, revert attributes and weight to original values
this.Attributes.BonusInt = 0; // Reset BonusDex
this.Attributes.BonusStr = 15; // Reset BonusInt to the original value
this.Weight = 0.1; // Reset weight to the original value
this.SkillBonuses.Skill_1_Name = SkillName.Inscribe;
this.SkillBonuses.Skill_1_Value = 0;

isSecondClick = false;
}

base.OnDoubleClick(from);
}
}
}
}
76 changes: 76 additions & 0 deletions Scripts/Nelderim/Items/Artifacts/ZleceniaBossy/BeaconOfHope.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
using System;
using Server;

namespace Server.Items
{
public class BeaconOfHope : MetalShield
{

public override int BaseFireResistance{ get{ return 10; } }
public override int InitMinHits{ get{ return 60; } }
public override int InitMaxHits{ get{ return 60; } }

[Constructable]
public BeaconOfHope()
{
Name = "Wskaznik Nadziei";
ItemID = 2597;
Hue = 1767;
StrRequirement = 55;
Attributes.SpellChanneling = 1;
Attributes.AttackChance = 12;
Attributes.DefendChance = 12;
Attributes.CastSpeed = 1;
Attributes.BonusMana = 10;
Attributes.BonusStam = -12;
Attributes.Luck = -200;


}

public BeaconOfHope(Serial serial) : base( serial )
{
}

public override void OnDoubleClick( Mobile from )
{
if ( !IsChildOf( from.Backpack ) )
{
from.SendLocalizedMessage( 1042001 ); // That must be in your pack for you to use it.
}

else
{

if ( this.ItemID == 2597 )
{
this.ItemID = 2594;
}
else if ( this.ItemID == 2594 )
{
this.ItemID = 2597;
}
else if (this.ItemID != 2597 || this.ItemID != 2594 )
{
from.SendMessage("There was a problem lighting your lantern. Please contact a staff member");
}
else
{
from.SendMessage( "Your lantern is broken. Please contact a staff member to repair it!" );
}
}
}

public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}

public override void Deserialize(GenericReader reader)
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
} // End Class
} // End Namespace
Loading
Loading